package com.oig.sys.workflow.dto;

import com.oig.common.validator.GroupAdd;
import com.oig.common.validator.GroupEdit;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;

@Schema
@Data
public class AutoOperationDto {

	@Schema(description = "id")
	private Integer id;
	@Schema(description = "规则id")
	private Integer autoRuleId;
	@Schema(description = "分支条件配置,通用查询条件的格式")
	private String dataCfg;
	@Schema(description = "分支条件配置,前端展示的格式")
	private String dataCfgView;
	@Schema(description = "执行通知标记,枚举", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
	@NotEmpty(message = "参数错误,执行通知标记不能为空", groups= {GroupAdd.class, GroupEdit.class})
	private String notifyFlag;
	@Schema(description = "通知标题,通知标题")
	private String notifyTitle;
	@Schema(description = "通知内容,是否需要加占位符来处理数据？")
	private String notifyContent;
	@Schema(description = "消息类型 01-定向通知 02-群消息")
	private String notifyType;
	@Schema(description = "推送渠道id")
	private Integer pushChannelId;
	@Schema(description = "推送机器人（渠道名称）")
	private String pushChannelName;
	@Schema(description = "接收人类型")
	private String receiverType;
	@Schema(description = "接收人id")
	private Integer receiverId;
	@Schema(description = "接收人名称")
	private String receiverName;

	@Schema(description = "执行任务分派标记,枚举", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
	@NotEmpty(message = "参数错误,执行任务分派标记不能为空", groups= {GroupAdd.class, GroupEdit.class})
	private String taskFlag;
	@Schema(description = "任务标题,通知标题")
	private String taskTitle;
	@Schema(description = "任务内容,是否需要加占位符来处理数据？")
	private String taskContent;
	@Schema(description = "优先级,0-低  1-普通 2-紧急")
	private String taskPriority;
	@Schema(description = "重要性,0-不重要 1-普通 2-重要")
	private String taskLevel;
	@Schema(description = "任务处理人id")
	private Integer taskUserId;
	@Schema(description = "任务处理人名称")
	private String taskUserName;
	@Schema(description = "任务跟踪人id")
	private Integer taskWatchId;
	@Schema(description = "任务跟踪人名称")
	private String taskWatchName;

	@Schema(description = "web_hook,预留")
	private String webHook;

	@Schema(description = "任务对应操作,人工点完成就不需要配置")
	private String taskOpt;
}
